// 引入 App 组件（根据 Vue 2 或 Vue 3 选择路径）
import App from './App.vue'; // 统一使用 .vue 后缀

// #ifndef VUE3
// Vue 2 逻辑（Uni-app 非 Vue 3 模式）
import Vue from 'vue';
import './uni.promisify.adaptor'; // Uni-app 适配

Vue.config.productionTip = false;
App.mpType = 'app'; // Uni-app 特定配置

const app = new Vue({
  ...App,
});

app.$mount(); // 挂载 Vue 2 应用
// #endif

// #ifdef VUE3
// Vue 3 逻辑（Uni-app Vue 3 模式）
import { createSSRApp } from 'vue';
import { createPinia } from 'pinia'; // 可选：状态管理库

export function createApp() {
  const app = createSSRApp(App);
  app.use(createPinia()); // 使用 Pinia（可选）
  return { app };
}
// #endif

// 全局函数（如导航工具）
function goDetail(id) {
  uni.navigateTo({
    url: `/pages/index/page1?id=${id}`,
  });
}

// 如果需要，可以将 goDetail 挂载到全局
// #ifndef VUE3
Vue.prototype.$goDetail = goDetail; // Vue 2 全局挂载
// #endif

// #ifdef VUE3
// 在 Vue 3 中，可以通过 provide/inject 或全局属性挂载
// 例如：
// import { getCurrentInstance } from 'vue';
// const instance = getCurrentInstance();
// instance.appContext.config.globalProperties.$goDetail = goDetail;
// #endif